#ifndef MOCKCONNECTOR_H
#define MOCKCONNECTOR_H

#include <gtest/gtest.h>
#include <gmock/gmock.h>

#include "network/connector.h"

namespace MockObjects
{
	class MockConnector : public Wishmaster::Connector
	{
	public:
		MOCK_METHOD1(queue, void(const Wishmaster::RequestPtr& request));
		MOCK_METHOD1(queueFirst, void(const Wishmaster::RequestPtr& request));

		MOCK_METHOD3(makeRequest, Wishmaster::RequestPtr(const QString& host, const QString& path, const QString& method));
		MOCK_METHOD4(connectRequest, void(QObject* eventReceiver, const char* resultSlot,
									const char* progressSlot, const Wishmaster::RequestPtr& request));
		MOCK_METHOD1(request, Wishmaster::RequestPtr(int id));

		MOCK_METHOD1(dequeue, void(int id));

		MOCK_METHOD1(setCookieStorage, void(Wishmaster::CookieStorage* storage));
		MOCK_METHOD0(cookieStorage, Wishmaster::CookieStorage*());
	};
}

#endif // MOCKCONNECTOR_H
